package com.example.func.enums;

/**
 * 业务场景枚举：组合模块类型与可选的 serviceName
 */
public enum Scenario {
    NONE(null, ModuleType.DEFAULT),
    LOGIN(null, ModuleType.LOGIN),
    LOGOUT(null, ModuleType.LOGOUT),
    STRATEGY_MANAGEMENT(null, ModuleType.STRATEGY_MANAGEMENT),
    PROCESS_MANAGEMENT(null, ModuleType.PROCESS_MANAGEMENT),
    PERMISSION_MANAGEMENT(null, ModuleType.PERMISSION_MANAGEMENT);

    private final String serviceName;
    private final ModuleType moduleType;

    Scenario(String serviceName, ModuleType moduleType) {
        this.serviceName = serviceName;
        this.moduleType = moduleType;
    }

    // 辅助构造：仅模块
    Scenario(ModuleType moduleType) {
        this(null, moduleType);
    }

    public String getServiceName() {
        return serviceName;
    }

    public ModuleType getModuleType() {
        return moduleType;
    }
}
